#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>


//int main()
//{
//	int arr[] = { -1000, 0 };
//	int arrSize = sizeof(arr) / sizeof(arr[0]);
//  
//    int brr[2000] = { 0 };
//    for (int i = 0; i < arrSize; ++i)
//    {
//        if (arr[i] >= 0)
//            ++brr[arr[i]];
//        else
//            ++brr[arr[i] + 1000];
//    }
//    for (int i = 0; i < 2000; ++i)
//    {
//        if (brr[i] == 0)
//            continue;
//        for (int j = i + 1; j < 2000; ++j)
//            if (brr[i] == brr[j])
//                return 0;
//    }
//    return 1;
//}
////
//
//bool uniqueOccurrences(int* arr, int arrSize){
//    int sum = 0;
//    int brr[2001] = {0};
//    for(int i=0; i<arrSize; ++i)
//    {
//        if(arr[i] >= 0)
//        {
//            ++brr[ arr[i] ];
//        }
//        else
//        {
//           ++brr[ arr[i]+1001 ]; 
//        }
//    }
//    for (int i = 0; i < 2001; ++i)
//    {
//        if(brr[i] == 0)
//        {
//            continue;
//        }
//        for (int j = i+1; j < 2001; ++j)
//        {
//            if (brr[i] == brr[j] )
//            {
//                return 0;
//            }
//        }
//    }
//    return 1;
//}


//int main()
//{
//    int arr[] = { 5,4,7,8,4,8,8,3,7,7,6,3,7,6,5,6,8,4,5,7,4,7,7,5,2,5,6,6,8,1,6,8,8,8,9,3,2,9 };
//    int arrSize = sizeof(arr) / sizeof(arr[0]);
//    int ans = 0;
//    for (int i = 0; i < arrSize; ++i)
//    {
//        int sum = 0;
//        for (int j = 0; j < arrSize; ++j)
//        {
//            if (arr[i] == arr[j])
//            {
//                ++sum;
//            }
//        }
//        if (arr[i] == sum)
//        {
//            ans = sum;
//        }
//    }
//    if (ans == 0)
//    {
//        return -1;
//    }
//    return ans;
//}


#include <string.h>

//int slen(char* pp)
//{
//	char *s = pp;
//	while (*pp != '\0')
//	{
//		++pp;
//	}
//	return pp - s;
//}
//void reverarr(char* p, int l)
//{
//	//int l = slen(p) - 1;
//	char s = *p;
//	*p = *(p + l);
//	*(p + l) = '\0';
//	if (*(p + 1) != '\0')
//	{
//		reverarr(p + 1, l - 2);
//	}
//	*(p + l) = s;
//}

//void reverarr(char* p, int l, int r)
//{
//	if (l < r)
//	{
//		char a = p[l];
//		p[l] = p[r];
//		p[r] = a;
//		reverarr(p, l + 1, r - 1);
//	}
//}
//int main()
//{
//	char arr[20] = { 0 };
//	gets(arr);
//	int r = strlen(arr) - 1;
//	int l = 0;
//	reverarr(arr, l, r);
//	puts(arr);
//	return 0;
//}




//
//int main()
//{
//	int s = 0;
//	scanf("%d", &s);
//	int a = 0;
//	scanf("%d", &a);
//	int x = a;
//	
//	int sum = 0;
//	for (int i = 0; i < s; ++i)
//	{
//		sum += a;
//		a = a * 10 + x;
//	}
//	printf("%d\n", sum);
//	return 0;
//}

//
//int Pow(int x, int y)
//{
//	if (y > 1)
//	{
//		return x * Pow(x, y - 1);
//	}
//	return x;
//}
//int sum(int i)
//{
//	int x = 0;
//	for (int j = i; j > 0; j /= 10)
//	{
//		++x;
//	}
//	int sum = 0;
//	for (int j = i; j > 0; j /= 10)
//	{
//		sum += Pow(j % 10, x);
//	}
//	return sum;
//}
//int main()
//{
//	for (int i = 0; i <= 10000; ++i)
//	{
//		if (sum(i) == i)
//		{
//			printf("%d\n", i);
//		}
//	}
//	return 0;
//}



//int main()
//{
//	int a = 0;
//	scanf("%d", &a);
//
//	for (int i = 0; i < a; ++i)
//	{
//		for (int j = a - i - 1; j > 0; --j)
//		{
//			printf(" ");
//		}
//		for (int j = 0; j <= i * 2; ++j)
//		{
//			printf("*");
//		}
//		printf("\n");
//	}
//	for (int i = 0; i < a - 1; ++i)
//	{
//		for (int j = 0; j <= i; ++j)
//		{
//			printf(" ");
//		}
//		for (int j = 0; j <(a - 1) * 2 - i * 2 - 1; j++)
//		{
//			printf("*");
//		}
//		printf("\n");
//	}
//	return 0;
//}

//int sum(int x)
//{
//	if (x > 1)
//	{
//		int a = x / 2;
//		int b = x % 2;
//		return a + sum(x / 2 + b);
//	}
//	return 0;
//}
//int main()
//{
//	int a = 0;
//	scanf("%d", &a);
//	/*int sum = a;
//	int voi = a;
//	while (voi > 1)
//	{
//		sum += voi / 2;
//		voi = voi / 2 + voi % 2;
//	}*/
//	printf("%d", sum(a)+a);
//	return 0;
//}


int main()
{
	char arr[20] = { 0 };
	gets(arr);
	int len = strlen(arr) - 1;
	for (int i = len; i >= 0; --i)
	{
		if (arr[i] == ' ' || i == 0)
		{
			if (i != 0)
			{
				int t = i + 1;
				while (t <= len && arr[t] != ' ')
				{
					printf("%c", arr[t++]);
				}
				printf(" ");
			}
			else
			{
				int t = i;
				while (arr[t] != ' ')
				{
					printf("%c", arr[t++]);
				}
				printf(" ");
			}
		}
	}
	return 0;
}